package com.tao.content.domain.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * <p>
 * 修改课程DTO
 * </p>
 *
 * @author taohongrun
 * @since 2024/11/5
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "传递修改的信息")
public class UpdateCourseDto {
    @Schema(description = "主键",requiredMode = Schema.RequiredMode.REQUIRED,example = "126")
    private Long id;

    @NotEmpty(message = "课程名称不能为空")
    @Schema(description = "课程名称", requiredMode = Schema.RequiredMode.REQUIRED ,example = "springCloud-learnHub")
    private String name;

    @Schema(description = "机构名称")
    private String company_name;

    @NotEmpty(message = "适用人群不能为空")
    @Size(message = "适用人群内容过少",min = 10)
    @Schema(description = "适用人群", requiredMode = Schema.RequiredMode.REQUIRED,example = "Spring Cloud")
    private String users;

    @Schema(description = "课程标签", example = "springCloud-learnHub")
    private String tags;

    @NotEmpty(message = "课程分类不能为空")
    @Schema(description = "大分类", requiredMode = Schema.RequiredMode.REQUIRED,example = "1-1")
    private String mt;

    @NotEmpty(message = "课程分类不能为空")
    @Schema(description = "小分类", requiredMode = Schema.RequiredMode.REQUIRED,example = "1-1-1")
    private String st;

    @NotEmpty(message = "课程等级不能为空")
    @Schema(description = "课程等级", requiredMode = Schema.RequiredMode.REQUIRED,example = "204001")
    private String grade;

    @Schema(description = "教学模式（普通，录播，直播等）", requiredMode = Schema.RequiredMode.REQUIRED,example = "200002")
    private String teachmode;

    @Schema(description = "课程介绍",example = "好")
    private String description;

    @Schema(description = "课程图片", requiredMode = Schema.RequiredMode.REQUIRED)
    private String pic;

    @NotEmpty(message = "收费规则不能为空")
    @Schema(description = "收费规则，对应数据字典", requiredMode = Schema.RequiredMode.REQUIRED,example = "201001")
    private String charge;

    @Schema(description = "价格",example = "123.0")
    private Float price;

    @Schema(description = "原价",example = "1239.99")
    private Float originalPrice;


}
